package com.qst.system.service;

import java.util.List;
import java.util.Map;
import com.qst.system.domain.vo.LoansVo;

/**
 * 贷款Service接口
 * 
 * @author qst
 * @date 2025-08-20
 */
public interface ILoansService 
{
    /**
     * 查询贷款
     * 
     * @param loaId 贷款主键
     * @return 贷款
     */
    public LoansVo selectLoansById(Long loaId);

    /**
     * 查询贷款列表
     * 
     * @param loansVo 贷款
     * @return 贷款集合
     */
    public List<LoansVo> selectLoansList(LoansVo loansVo);

    /**
     * 新增贷款
     * 
     * @param loansVo 贷款
     * @return 结果
     */
    public int insertLoans(LoansVo loansVo);

    /**
     * 修改贷款
     * 
     * @param loansVo 贷款
     * @return 结果
     */
    public int updateLoans(LoansVo loansVo);

    /**
     * 批量删除贷款
     * 
     * @param loaIds 需要删除的贷款主键数组
     * @return 结果
     */
    public int deleteLoansByIds(Long[] loaIds);

    /**
     * 删除贷款信息
     * 
     * @param loaId 贷款主键
     * @return 结果
     */
    public int deleteLoansById(Long loaId);

    /**
     * 查询贷款编号列表
     *
     * @return 贷款编号列表
     */
    public List<Map<String, Object>> selectLoansNoList();

    /**
     * 获取银行名称列表
     *
     * @return 银行名称列表
     */
    public List<String> getBankNames();
    
    /**
     * 更新贷款状态
     * 
     * @param loaId 贷款ID
     * @param state 状态值
     * @return 结果
     */
    public int updateLoansState(Long loaId, String state);
}